#include "InitGame.h"
#include "FiniteStateMachine.h"
#include "AllocateDataGame.h"



InitGame::InitGame(void)
{
}


InitGame::~InitGame(void)
{
}

void InitGame::Execute( void *aFsm)
{
	FiniteStateMachine<Game>* fsm= reinterpret_cast<FiniteStateMachine<Game>*>(aFsm);

	std::cout << "BENVENUTO SU BOXE IN CONSOLE !!"<<std::endl<< std::endl;
	std::cout << "Tu sei un pugile e per diventare il campione devi risalire la classifica sconfiggendo altri pugili."<<std::endl;
	std::cout << "Comincia subito a giocare!!"<<std::endl;
	unsigned numChallenger;
	
	//TODO: ciclo da aggiustare
	do
	{
		std::cout << "Seleziona un numero di sfidanti compreso tra 1 e "<< fsm->mActor->mMaxChallenger<< ":" <<std::endl;
	}
	while(!(std::cin >> numChallenger) && (numChallenger < 1) && (numChallenger > fsm->mActor->mMaxChallenger));
	fsm->mActor->mNumChallengers=numChallenger;
	fsm->ChangeState(new AllocateDataGame());
}